package com.haohan.jingyuan.common.enums;

/**
 * 用户状态枚举
 *
 * @ClassName UserStatusEnum
 * @Description 用户状态枚举类
 * @Author hexijun
 * @Time 2025/01/19 11:00
 * @Version 1.0
 */
public enum UserStatusEnum {

    /**
     * 正常状态
     */
    NORMAL("1", "正常"),

    /**
     * 冻结状态
     */
    FROZEN("2", "冻结");

    /**
     * 状态码
     */
    private final String code;

    /**
     * 状态描述
     */
    private final String desc;

    UserStatusEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 获取状态码
     *
     * @return 状态码
     */
    public String getCode() {
        return code;
    }

    /**
     * 获取状态描述
     *
     * @return 状态描述
     */
    public String getDesc() {
        return desc;
    }

    /**
     * 根据状态码获取枚举
     *
     * @param code 状态码
     * @return 用户状态枚举
     */
    public static UserStatusEnum getByCode(String code) {
        if (code == null) {
            return null;
        }
        for (UserStatusEnum status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;
    }

    /**
     * 根据状态码获取描述
     *
     * @param code 状态码
     * @return 状态描述
     */
    public static String getDescByCode(String code) {
        UserStatusEnum status = getByCode(code);
        return status != null ? status.getDesc() : "未知";
    }
}
